function verificarTempMax() {
  //Estas dos líneas van a verificar la hora del día y así restringir alertas, por ejemplo cada noche
  const horaActual = new Date().getHours();
  if (horaActual < 8 || horaActual >= 20) return; // No ejecutar entre 20:00 y 8:00

  const hojaDatos = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Últimos Valores");
  const hojaUsuarios = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("datos usuarios");

  if (!hojaDatos || !hojaUsuarios) return;

  const datosValores = hojaDatos.getDataRange().getValues();
  const datosUsuarios = hojaUsuarios.getDataRange().getValues();

  // Crear un mapa de sensores con sus límites, correos y seudónimos
  const sensores = {};
  for (let i = 1; i < datosUsuarios.length; i++) {
    const nombreSensor = datosUsuarios[i][0];
    const seudonimo = datosUsuarios[i][1];
    const correo = datosUsuarios[i][2];
    const tempMax = parseFloat(datosUsuarios[i][3]);

    if (nombreSensor && correo && !isNaN(tempMax)) {
      sensores[nombreSensor] = {
        seudonimo: seudonimo || nombreSensor,
        correo: correo,
        tempMax: tempMax
      };
    }
  }

  // Acumular alertas por correo
  const alertasPorCorreo = {};
  for (let i = 1; i < datosValores.length; i++) {
    const nombreSensor = datosValores[i][0];
    const temperatura = parseFloat(datosValores[i][3]);
    const fechaYHora = new Date(datosValores[i][1]);
    const sensor = sensores[nombreSensor];

    if (sensor && !isNaN(temperatura) && temperatura > sensor.tempMax) {
      const mensaje = `- ${sensor.seudonimo} registró ${temperatura}°C (límite: ${sensor.tempMax}°C) a las ${fechaYHora.toLocaleString('es-ES')}`;

      if (!alertasPorCorreo[sensor.correo]) {
        alertasPorCorreo[sensor.correo] = [];
      }
      alertasPorCorreo[sensor.correo].push(mensaje);
    }
  }

  // Enviar un solo correo por usuario
  for (const correo in alertasPorCorreo) {
    const listaAlertas = alertasPorCorreo[correo].join('\n');
    const asunto = `⚠️ Alerta: Temperatura alta detectada en sensores`;

    const mensaje = `
Hola,

Se han detectado temperaturas por encima del umbral en los siguientes sensores:

${listaAlertas}

Por favor, verifica la situación cuanto antes.

Saludos,
Sistema de Monitoreo Automático de los pilotos de CICYTEX para TECH4E.
    `.trim();

    GmailApp.sendEmail(correo, asunto, mensaje);
  }
}
